﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

// 定义一个方法 Operate，它接受一个 int 参数和一个 MathOperation 委托作为参数。MathOperation 委托应该定义两个 int 参数并返回一个 int。
// 在 Operate 方法中，调用传入的委托并返回结果。使用此方法来调用 Add 和 Multiply 方法。
namespace CS_BEGINNER_TO_PROFICIENT.STD.DelegatedSTD
{
    public class DelegatedSTDP8
    {
        public static int Operate(int x, MathOperation operate) => operate(x, x);

        public static int Add(int x, int y) => x + y;

        public static int Multiply(int x, int y) => x * y;

        public static void Execute()
        {
            Console.WriteLine(Operate(5, Add));
            Console.WriteLine(Operate(5, Multiply));
        }
    }
}
